git-annex.git
13 months agoAdded a comment
yarikoptic [Thu, 23 Jan 2025 15:53:39 +0000 (15:53 +0000)]
Added a comment

13 months agoresponse
Joey Hess [Wed, 22 Jan 2025 20:48:51 +0000 (16:48 -0400)]
response

13 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 22 Jan 2025 20:42:50 +0000 (16:42 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

13 months agoparsePOSIXTime ByteString conversion
Joey Hess [Wed, 22 Jan 2025 20:41:06 +0000 (16:41 -0400)]
parsePOSIXTime ByteString conversion

Some easy (though tiny) speed wins.

Sponsored-by: Luke T. Shumaker on Patreon
13 months agofix reversion
Joey Hess [Wed, 22 Jan 2025 20:28:29 +0000 (16:28 -0400)]
fix reversion

af3b9cbd3647ecfb3f3f6c4008dc9e64f7d42591 lost takeFileName, breaking the
test suite

13 months agoconvert from readFileStrict
Joey Hess [Wed, 22 Jan 2025 20:19:06 +0000 (16:19 -0400)]
convert from readFileStrict

This removes that function, using file-io readFile' instead.

Had to deal with newline conversion, which readFileStrict does on
Windows. In a few cases, that was pretty ugly to deal with.

Sponsored-by: Kevin Mueller
13 months agofix reversion
Joey Hess [Wed, 22 Jan 2025 19:32:21 +0000 (15:32 -0400)]
fix reversion

In 793ddecd4b72a5e4746b3b426d3bca400737118b, writeSshConfig was made to
writeFile a ByteString, which lost the newline conversion on Windows.

Added linesFile to fix it. This will also be useful for other writeFile
conversions.

13 months agoconvert from readFileStrict
Joey Hess [Wed, 22 Jan 2025 19:19:47 +0000 (15:19 -0400)]
convert from readFileStrict

In cases where it reads lines, which needs newline conversion on
windows.

13 months agoconvert from readFileStrict
Joey Hess [Wed, 22 Jan 2025 18:43:37 +0000 (14:43 -0400)]
convert from readFileStrict

More of these still to convert, but need to be careful of newline
translation.

13 months agofix reversion
Joey Hess [Wed, 22 Jan 2025 18:42:27 +0000 (14:42 -0400)]
fix reversion

793ddecd4b72a5e4746b3b426d3bca400737118b made installWrapper not do
newline conversion on windows.

13 months agouse file-io for readFile/writeFile/appendFile on ByteStrings
Joey Hess [Wed, 22 Jan 2025 18:30:25 +0000 (14:30 -0400)]
use file-io for readFile/writeFile/appendFile on ByteStrings

These are all straightforward, and easy small performance wins.

Sponsored-by: Nicholas Golder-Manning
13 months agoRawFilePath conversion for replaceFile
Joey Hess [Wed, 22 Jan 2025 17:37:26 +0000 (13:37 -0400)]
RawFilePath conversion for replaceFile

Sponsored-by: Joshua Antonishen
13 months agosimplify replaceFile using relatedTemplate
Joey Hess [Wed, 22 Jan 2025 17:22:51 +0000 (13:22 -0400)]
simplify replaceFile using relatedTemplate

Now that truncateFilePath and relatedTemplate have both been optimised,
may as well use them in replaceFile, rather than the custom hack it
used.

Removed the windows-specific ifdef as well, because on Windows long
filepaths no longer really a problem, since ghc and git-annex use UNC
converted paths.

replaceFile no longer checks fileNameLengthLimit. That took a syscall,
and since we have an existing file, we know filenames of its length are
supported by the filesystem. Assuming that the withOtherTmp directory is
on the same filesystem as the file replaceFile is being called on, which
I believe it is.

Sponsored-by: Leon Schuermann
13 months agooptimize truncateFilePath
Joey Hess [Wed, 22 Jan 2025 16:34:54 +0000 (12:34 -0400)]
optimize truncateFilePath

Often the filepath will be all ascii, or mostly so, and this
optimisation makes a file that has an ascii suffix of sufficient length
be roundtrip converted between String and ByteString only once, rather
than once per character.

Sponsored-by: Graham Spencer
13 months agooptimize relatedTemplate
Joey Hess [Wed, 22 Jan 2025 15:51:23 +0000 (11:51 -0400)]
optimize relatedTemplate

13 months agobreak out templateAddedLength
Joey Hess [Wed, 22 Jan 2025 15:43:45 +0000 (11:43 -0400)]
break out templateAddedLength

13 months agouse openTempFile from file-io
Joey Hess [Tue, 21 Jan 2025 21:00:37 +0000 (17:00 -0400)]
use openTempFile from file-io

And follow-on changes.

Note that relatedTemplate was changed to operate on a RawFilePath, and
so when it counts the length, it is now the number of bytes, not the
number of code points. This will just make it truncate shorter strings
in some cases, the truncation is still unicode aware.

When not building with the OsPath flag, toOsPath . fromRawFilePath and
fromRawFilePath . fromOsPath do extra conversions back and forth between
String and ByteString. That overhead could be avoided, but that's the
non-optimised build mode, so didn't bother.

Sponsored-by: unqueued
13 months agorename forum/reupload_existing_files_to_bare_repo.mdwn to forum/reuploads_existing_fi...
jnkl [Wed, 22 Jan 2025 07:28:13 +0000 (07:28 +0000)]
rename forum/reupload_existing_files_to_bare_repo.mdwn to forum/reuploads_existing_files_to_bare_repo.mdwn

13 months ago(no commit message)
jnkl [Wed, 22 Jan 2025 07:26:34 +0000 (07:26 +0000)]

13 months agoAdded a comment: Exporting a synced/* branch works now! 🥳
nobodyinperson [Tue, 21 Jan 2025 18:30:50 +0000 (18:30 +0000)]
Added a comment: Exporting a synced/* branch works now! ðŸ¥³

13 months agoadd file-io to build-depends when building with OsPath flag
Joey Hess [Tue, 21 Jan 2025 18:26:04 +0000 (14:26 -0400)]
add file-io to build-depends when building with OsPath flag

Partly converted code to use functions from it, though more remain
unconverted. Most of withFile and openFile now use it.

13 months agoavoid build warning with recent ghc
Joey Hess [Tue, 21 Jan 2025 15:59:38 +0000 (11:59 -0400)]
avoid build warning with recent ghc

foldl' is in Prelude now. Explicitly import Data.List still
for older systems and add explict Prelude import to avoid warning.

13 months agorename OsString to OsPath
Joey Hess [Tue, 21 Jan 2025 15:57:44 +0000 (11:57 -0400)]
rename OsString to OsPath

13 months agoclean up stack.yaml with new versions of dependencies
Joey Hess [Mon, 20 Jan 2025 23:53:15 +0000 (19:53 -0400)]
clean up stack.yaml with new versions of dependencies

13 months agoRawFilePath conversion for Utility.Directory.Stream
Joey Hess [Mon, 20 Jan 2025 18:50:08 +0000 (14:50 -0400)]
RawFilePath conversion for Utility.Directory.Stream

13 months agoRawFilePath conversion of System.Directory
Joey Hess [Mon, 20 Jan 2025 22:03:26 +0000 (18:03 -0400)]
RawFilePath conversion of System.Directory

By using System.Directory.OsPath, which takes and returns OsString,
which is a ShortByteString. So, things like dirContents currently have the
overhead of copying that to a ByteString, but that should be less than
the overhead of using Strings which often in turn were converted to
RawFilePaths.

Added Utility.OsString and the OsString build flag. That flag is turned
on in the stack.yaml, and will be turned on automatically by cabal when
built with new enough libraries. The stack.yaml change is a bit ugly,
and that could be reverted for now if it causes any problems.

Note that Utility.OsString.toOsString on windows is avoiding only a
check of encoding that is documented as being unlikely to fail. I don't
think it can fail in git-annex; if it could, git-annex didn't contain
such an encoding check before, so at worst that should be a wash.

13 months agostop exporting Utility.SystemDirectory from Utility.Directory
Joey Hess [Mon, 20 Jan 2025 23:10:13 +0000 (19:10 -0400)]
stop exporting Utility.SystemDirectory from Utility.Directory

13 months agoupdate
Joey Hess [Mon, 20 Jan 2025 18:18:02 +0000 (14:18 -0400)]
update

13 months agoupdate
Joey Hess [Mon, 20 Jan 2025 17:58:14 +0000 (13:58 -0400)]
update

13 months agorelax annex-tracking-branch to allow "/"
Joey Hess [Mon, 20 Jan 2025 15:31:18 +0000 (11:31 -0400)]
relax annex-tracking-branch to allow "/"

Allow setting remote.foo.annex-tracking-branch to a branch name that
contains "/", as long as it's not a remote tracking branch.

13 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 20 Jan 2025 15:12:56 +0000 (11:12 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

13 months agoSupport help.autocorrect settings "never" and "immediate"
Joey Hess [Mon, 20 Jan 2025 15:01:07 +0000 (11:01 -0400)]
Support help.autocorrect settings "never" and "immediate"

13 months agoSupport help.autocorrect=prompt
Joey Hess [Mon, 20 Jan 2025 14:56:12 +0000 (10:56 -0400)]
Support help.autocorrect=prompt

13 months agoReport bug that one can't export synced/ branches
nobodyinperson [Mon, 20 Jan 2025 10:25:51 +0000 (10:25 +0000)]
Report bug that one can't export synced/ branches

13 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 17 Jan 2025 15:11:55 +0000 (11:11 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

13 months agoAdded a comment: Feature idea
hello@da0030bba070302e85904b4d73db61fb4af7bced [Fri, 17 Jan 2025 11:14:55 +0000 (11:14 +0000)]
Added a comment: Feature idea

13 months ago(no commit message)
hello@da0030bba070302e85904b4d73db61fb4af7bced [Fri, 17 Jan 2025 11:11:51 +0000 (11:11 +0000)]

13 months ago(no commit message)
goglu6 [Fri, 17 Jan 2025 06:30:22 +0000 (06:30 +0000)]

13 months ago(no commit message)
goglu6 [Fri, 17 Jan 2025 06:29:39 +0000 (06:29 +0000)]

13 months ago(no commit message)
goglu6 [Fri, 17 Jan 2025 06:24:07 +0000 (06:24 +0000)]

13 months ago(no commit message)
goglu6 [Fri, 17 Jan 2025 06:23:41 +0000 (06:23 +0000)]

13 months ago(no commit message)
goglu6 [Fri, 17 Jan 2025 05:13:55 +0000 (05:13 +0000)]

13 months ago(no commit message)
goglu6 [Fri, 17 Jan 2025 05:12:14 +0000 (05:12 +0000)]

13 months agoAdded a comment: Still happening, managed to get a reproduction (maybe ?)
hello@da0030bba070302e85904b4d73db61fb4af7bced [Thu, 16 Jan 2025 18:17:52 +0000 (18:17 +0000)]
Added a comment: Still happening, managed to get a reproduction (maybe ?)

13 months agocomment
Joey Hess [Wed, 15 Jan 2025 23:13:15 +0000 (19:13 -0400)]
comment

13 months agoadd news item for git-annex 10.20250115
Joey Hess [Wed, 15 Jan 2025 16:38:35 +0000 (12:38 -0400)]
add news item for git-annex 10.20250115

13 months agoreleasing package git-annex version 10.20250115
Joey Hess [Wed, 15 Jan 2025 16:38:25 +0000 (12:38 -0400)]
releasing package git-annex version 10.20250115

13 months agoarm autobuild moved to sparrow
Joey Hess [Wed, 15 Jan 2025 16:18:11 +0000 (12:18 -0400)]
arm autobuild moved to sparrow

13 months agopreparing release
Joey Hess [Wed, 15 Jan 2025 15:39:40 +0000 (11:39 -0400)]
preparing release

13 months agorsync security fix for bundled builds
Joey Hess [Wed, 15 Jan 2025 15:16:46 +0000 (11:16 -0400)]
rsync security fix for bundled builds

I have updated all linux builds.

14 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 13 Jan 2025 18:24:28 +0000 (14:24 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

14 months agopre-init config and hook
Joey Hess [Mon, 13 Jan 2025 18:22:49 +0000 (14:22 -0400)]
pre-init config and hook

Added annex.pre-init-command git config and pre-init-annex hook that is run
before git-annex repository initialization.

This can block initialization. Or it can preform pre-initialization
configuration or tweaking.

I left stdio connected while it's running, so it could also be used for
interactive prompting conceivably, although that would want to use /dev/tty
anyway probably in order to not pollute the stdout of a command when
automatic initialization is done.

Sponsored-by: Dartmouth College's OpenNeuro project
14 months agoAdded a comment
lemondata [Mon, 13 Jan 2025 17:43:25 +0000 (17:43 +0000)]
Added a comment

14 months agocomment
Joey Hess [Mon, 13 Jan 2025 17:32:46 +0000 (13:32 -0400)]
comment

14 months agoupdate
Joey Hess [Mon, 13 Jan 2025 17:26:36 +0000 (13:26 -0400)]
update

14 months agocomment
Joey Hess [Mon, 13 Jan 2025 17:14:54 +0000 (13:14 -0400)]
comment

14 months agodocument files
Joey Hess [Mon, 13 Jan 2025 17:14:12 +0000 (13:14 -0400)]
document files

14 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 13 Jan 2025 17:11:49 +0000 (13:11 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

14 months agotodo
Joey Hess [Mon, 13 Jan 2025 17:04:38 +0000 (13:04 -0400)]
todo

kind of a bug, but I'm not sure if it can be fixed

14 months agoupdate
Joey Hess [Sun, 12 Jan 2025 16:22:02 +0000 (12:22 -0400)]
update

14 months agoAdded a comment
yarikoptic [Fri, 10 Jan 2025 20:27:49 +0000 (20:27 +0000)]
Added a comment

14 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 10 Jan 2025 18:55:00 +0000 (14:55 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

14 months agoadded hooks corresponding to annex.*-command
Joey Hess [Fri, 10 Jan 2025 18:50:49 +0000 (14:50 -0400)]
added hooks corresponding to annex.*-command

* Added freezecontent-annex and thawcontent-annex hooks that
  correspond to the git configs annex.freezecontent and
  annex.thawcontent.
* Added secure-erase-annex hook that corresponds to the git config
  annex.secure-erase-command.
* Added commitmessage-annex hook that corresponds to the git config
  annex.commitmessage-command.
* Added http-headers-annex hook that corresponds to the git config
  annex.http-headers-command.
  that correspond to the post-update-annex and pre-commit-annex hooks.

The use case for these is eg, setting up a git repository that is run in a
container, where the easiest way to provide a script is by putting it in
.git/hooks/, rather than copying it into the container in a way that puts
it in PATH.

This is all the ones that make sense to add for annex.*-config git configs.
annex.youtube-dl-command is not a hook, it's telling git-annex what command
to run. So is annex.shared-sop-command. So omitted those.

May later also want to add hooks corresponding to
`remote.<name>.annex-cost-command` etc.

Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
14 months agoAdded a comment: on the init hook
yarikoptic [Fri, 10 Jan 2025 17:33:15 +0000 (17:33 +0000)]
Added a comment: on the init hook

14 months agoconfigs annex.post-update-command and annex.pre-commit-command
Joey Hess [Fri, 10 Jan 2025 17:27:51 +0000 (13:27 -0400)]
configs annex.post-update-command and annex.pre-commit-command

Added git configs annex.post-update-command and annex.pre-commit-command
that correspond to the git-annex hook scripts post-update-annex and
pre-commit-annex.

Note that the hook files take precience over the git config, since the git
config can includ global config which should be overridden by local config.

These new git configs are probably not super useful. Especially the
pre-commit-annex hook is there to install scripts to instead of the
pre-commit hook, since git-annex installs that hook itself. So why would
someone want to use a git config for that? Only reason I can think of would
be in a global git config. Or possibly because it's easier to set a git
config than write a hook script, on an OS like Windows.

The real reason I'm adding these is as groundwork for making other
annex.*-command git configs also be available as hook scripts. I want
to avoid having some things available as only git hooks and others as
both gitconfigs and git hooks. (It seems that some annex.*-command configs
don't translate to git hooks though.)

In the man page, moved documentation of the hooks to be next to the
documentation of the git configs. This is to avoid repitition.

14 months agoallocate this development to openneuro - we need to curate/process datasets from...
yarikoptic [Fri, 10 Jan 2025 17:27:23 +0000 (17:27 +0000)]
allocate this development to openneuro - we need to curate/process datasets from/for openneuro on discovery

14 months agocomment
Joey Hess [Fri, 10 Jan 2025 16:49:11 +0000 (12:49 -0400)]
comment

14 months agocomment
Joey Hess [Fri, 10 Jan 2025 16:08:28 +0000 (12:08 -0400)]
comment

14 months agomake git-remote-annex link available to test suite
Joey Hess [Fri, 10 Jan 2025 15:01:43 +0000 (11:01 -0400)]
make git-remote-annex link available to test suite

14 months agofixed
Joey Hess [Fri, 10 Jan 2025 14:56:35 +0000 (10:56 -0400)]
fixed

14 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 10 Jan 2025 14:37:50 +0000 (10:37 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

14 months agofix windows build
Joey Hess [Fri, 10 Jan 2025 14:37:39 +0000 (10:37 -0400)]
fix windows build

14 months agoAdded a comment
yarikoptic [Fri, 10 Jan 2025 03:20:32 +0000 (03:20 +0000)]
Added a comment

14 months agorepo is probably not technically offline, just out of reach
jkniiv [Thu, 9 Jan 2025 21:16:49 +0000 (21:16 +0000)]
repo is probably not technically offline, just out of reach

14 months agoAdded a comment: same problem on a VPS
jkniiv [Thu, 9 Jan 2025 21:14:06 +0000 (21:14 +0000)]
Added a comment: same problem on a VPS

14 months agocomment
Joey Hess [Thu, 9 Jan 2025 18:23:51 +0000 (14:23 -0400)]
comment

14 months agocomment
Joey Hess [Thu, 9 Jan 2025 16:07:23 +0000 (12:07 -0400)]
comment

14 months agoretitle
Joey Hess [Thu, 9 Jan 2025 15:48:42 +0000 (11:48 -0400)]
retitle

14 months agocomment
Joey Hess [Thu, 9 Jan 2025 15:46:53 +0000 (11:46 -0400)]
comment

14 months ago(no commit message)
parseaus [Thu, 9 Jan 2025 07:27:27 +0000 (07:27 +0000)]

14 months agolayout
Joey Hess [Wed, 8 Jan 2025 17:55:24 +0000 (13:55 -0400)]
layout

14 months agolayout
Joey Hess [Wed, 8 Jan 2025 17:55:00 +0000 (13:55 -0400)]
layout

14 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 8 Jan 2025 17:52:34 +0000 (13:52 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

14 months agoupdate
Joey Hess [Wed, 8 Jan 2025 17:52:22 +0000 (13:52 -0400)]
update

14 months agoAdded a comment: failing with `Operation not petmitted`
octvs@17a99a7aaeb0c0e0a2375e14807b138740ba34e9 [Wed, 8 Jan 2025 08:25:04 +0000 (08:25 +0000)]
Added a comment: failing with `Operation not petmitted`

14 months agoAdded a comment
Atemu [Tue, 7 Jan 2025 22:28:16 +0000 (22:28 +0000)]
Added a comment

14 months agoAdded a comment
yarikoptic [Tue, 7 Jan 2025 22:01:20 +0000 (22:01 +0000)]
Added a comment

14 months agoAdded a comment
yarikoptic [Tue, 7 Jan 2025 21:23:26 +0000 (21:23 +0000)]
Added a comment

14 months ago(no commit message)
Atemu [Tue, 7 Jan 2025 21:11:41 +0000 (21:11 +0000)]

14 months agoAdded a comment: odd system
yarikoptic [Tue, 7 Jan 2025 21:06:35 +0000 (21:06 +0000)]
Added a comment: odd system

14 months agocomment
Joey Hess [Tue, 7 Jan 2025 20:50:37 +0000 (16:50 -0400)]
comment

14 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 7 Jan 2025 20:37:48 +0000 (16:37 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

14 months agowindows permissions fix
Joey Hess [Tue, 7 Jan 2025 20:37:39 +0000 (16:37 -0400)]
windows permissions fix

Windows: Fix permission denied error when dropping files that have the
readonly attribute set.

Files coming from a special remote may have had write permission removed
from them. The directory special remote does that. And there are
probably others. So rather than fixing it on the special remote side,
made moveAnnex, on Windows, add back the write bit. This apparently
removes the readonly attribute. See Remote.Directory.removeDirGeneric
which already did the same on windows to allow removing files from the
directory special remote.

The reason that cleanObjectLoc also calls allowWrite is to handle
situations where files have already gotten into git-annex repositories on
Windows with the write bit set. Eg, an older git-annex put them there.
Or perhaps the git-annex repository was populated on some other OS.

14 months agoAdded a comment
yarikoptic [Tue, 7 Jan 2025 20:12:31 +0000 (20:12 +0000)]
Added a comment

14 months agoclose
Joey Hess [Tue, 7 Jan 2025 20:06:00 +0000 (16:06 -0400)]
close

14 months agogit-remote-annex enableremote to support readonly webdav
Joey Hess [Tue, 7 Jan 2025 19:57:20 +0000 (15:57 -0400)]
git-remote-annex enableremote to support readonly webdav

* Allow enableremote of an existing webdav special remote that has
  read-only access.
* git-remote-annex: Use enableremote rather than initremote.

14 months agosame bug
Joey Hess [Tue, 7 Jan 2025 19:53:47 +0000 (15:53 -0400)]
same bug

14 months agotag INM7
Joey Hess [Tue, 7 Jan 2025 19:52:20 +0000 (15:52 -0400)]
tag INM7

based on mih filing or commenting on things and/or on
git-remote-annex being used

14 months agoclose, behaving as documented
Joey Hess [Tue, 7 Jan 2025 18:47:56 +0000 (14:47 -0400)]
close, behaving as documented

14 months agocomment
Joey Hess [Tue, 7 Jan 2025 18:39:06 +0000 (14:39 -0400)]
comment